home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 26 / CU Amiga Magazine's Super CD-ROM 26 (1998)(EMAP Images)(GB)[!][issue 1998-09].iso / CUCD / Utilities / MegaBook / Install < prev    next >
Text File  |  1998-07-16  |  12KB  |  507 lines

  1. ; $VER: MegaBook v4 Installer, Version 3.2 (16.7.98)
  2.  
  3. ;; Yeh! Original V3 comments :) This is V4 now, wohoo ... 2 years late but
  4. ;; kicking ass as always :)
  5.  
  6. ;; I really hate writing installers. Its worse then writing docs!
  7. ;; The docs and the installer probs take longer then the program :) Nah,
  8. ;; i've been working on MegaBook 3 for about a month now and this aint gonna
  9. ;; take that long ... 
  10.  
  11. ;; Hey .. get some kewl mods and HippoPlayer and make a huge play list ...
  12. ;; great while ya working (if u have the memory that is :)..) (and don't
  13. ;; forget to whack the volume right up on the stereo too)
  14.  
  15. ;; Anyway, enuff of the silly comments ... here's the installer :) bugger..
  16. ;; i really hate all these bloody brackets :( ... should of custom written
  17. ;; one in C .. never mind.
  18.  
  19. ;; BTW: the comments are mainly for my benefit as i keep forgetting what
  20. ;; each installer command does :) But they'll help u too if u decide to use
  21. ;; bits of this script :)
  22.  
  23. ;; Misc Messages
  24. (set WhereTo "Please select directory to install MegaBook to\n(a directory will be created)")
  25.  
  26. (set CopyExe "Copying MegaBook")
  27. (set CopyDocs "Copying Documentation")
  28. (set CopyExamp "Copying Examples")
  29. (set CopyExtras "Copying Extras")
  30. (set CopyStore "Copying Storage")
  31. (set CopyRexx "Copying ARexx Scripts")
  32. (set CopySamp "Copying Samples")
  33.  
  34. (set Modem "\n\n\n\n\nDo you have a modem ?")
  35. (set EMail "\n\n\n\n\nDo you have an EMail address ?")
  36. (set Fax "\n\n\n\n\nDo you use Fax software ?")
  37. (set MiniBook "\n\n\n\n\nDo you want to install MiniBook ?")
  38.  
  39. (set TermProg "Please select your terminal software")
  40. (set MailProg "Please select your mailer software")
  41.  
  42. (set StartP "\n\nThe following command needs to be\nadded to your user startup\n\nASSIGN MegaBook: \"")
  43.  
  44. ;; Help messages
  45. (set WhereToHelp "Select the directory you wish to install\nMegaBook into and select Ok\n\nA directory named MegaBook will be created")
  46. (set ModemHelp "MegaBook allows you to dial through a\nmodem to call BBS's. If you have on,\nselect Yes and you'll be ask to select\nyour terminal software. The installer\nwill then copy a ARexx script to enable\nyou to use your modem with MegaBook")
  47. (set EMailHelp "MegaBook allows you to send EMails\nif you have an internet account\nyou'll be able to send EMails direct\nfrom MegaBook.")
  48. (set FaxHelp "If your modem supports Fax, you can\nsend faxes from within MegaBook")
  49. (set MiniBookHelp "MiniBook is a small version of MegaBook\nthat only supports names and phone numbers.")
  50.  
  51. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  52. ;; Procedures                                                             ;;
  53. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  54. (procedure
  55.     makedirstruct
  56.     ;;
  57.     ;; Procedure to make the directory structure
  58.     ;; 
  59.     ;; No arguments, no locals. Uses @default-dest
  60.     ;;
  61.     ;; Returns a load of variables that i cant be arsed to repeat here :)
  62.     
  63.     ;; Set the main directory name.
  64.     (set @default-dest (tackon @default-dest "MegaBook"))
  65.     (makedir @default-dest
  66.                 (infos)
  67.     )
  68.     
  69.     (makedir (tackon @default-dest "Docs")
  70.                 (infos)
  71.     )
  72.     (set DocsDest (tackon @default-dest "Docs"))
  73.     
  74.     (makedir (tackon @default-dest "Examples")
  75.                 (infos)
  76.     )
  77.     (set ExampDest (tackon @default-dest "Examples"))
  78.     
  79.     (makedir (tackon @default-dest "Extras")
  80.                 (infos)
  81.     )
  82.     (set XtrasDest (tackon @default-dest "Extras"))
  83.     
  84.     (makedir (tackon @default-dest "Storage")
  85.                 (infos)
  86.     )
  87.     (makedir (tackon @default-dest "Storage/SendEMail")
  88.                 (infos)
  89.     )
  90.     (makedir (tackon @default-dest "Storage/SendFax")
  91.                 (infos)
  92.     )
  93.     (makedir (tackon @default-dest "Storage/DialData")
  94.                 (infos)
  95.     )
  96.     (set StoreDest (tackon @default-dest "Storage"))
  97.     (set EMailDest (tackon @default-dest "Storage/SendEMail"))
  98.     (set FaxDest (tackon @default-dest "Storage/SendFax"))
  99.     (set DataDest (tackon @default-dest "Storage/DialData"))
  100.     
  101.     (makedir (tackon @default-dest "Rexx")
  102.                 (infos)
  103.     )
  104.     (set RexxDest (tackon @default-dest "Rexx"))
  105.     
  106.     (makedir (tackon @default-dest "Samples")
  107.                 (infos)
  108.     )
  109.     (set SampDest (tackon @default-dest "Samples"))
  110. )
  111.  
  112. (procedure
  113.     installexes
  114.     ;;
  115.     ;; Procedure to copy the main executables
  116.     ;;
  117.     ;; No args, no locals, no returns.
  118.     ;;
  119.     
  120.     (copyfiles
  121.         (prompt CopyExe)
  122.         (help @copyfiles-help)
  123.         (choices "MegaBook" "MegaBook-020")
  124.         (source "")
  125.         (dest @default-dest)
  126.         (confirm)
  127.         (infos)
  128.     )
  129. )
  130. (procedure
  131.     installdocs
  132.     ;;
  133.     ;; Procedure to copy the docs
  134.     ;;
  135.     ;; No args, no locals, no returns.
  136.     ;;
  137.     
  138.     (copyfiles
  139.         (prompt CopyDocs)
  140.         (help @copyfiles-help)
  141.         (choices "MegaBook.guide" "Developers.doc" "RegForm.txt" "FileConvert.doc")
  142.         (source "Docs/")
  143.         (dest DocsDest)
  144.         (confirm)
  145.         (infos)
  146.     )
  147. )
  148. (procedure
  149.     installexamp
  150.     ;;
  151.     ;; Procedure to copy the examples
  152.     ;;
  153.     ;; No args, no locals, no returns.
  154.     ;;
  155.     
  156.     (copyfiles
  157.         (prompt CopyExamp)
  158.         (help @copyfiles-help)
  159.         (source "Examples/")
  160.         (all)
  161.         (dest ExampDest)
  162.         (confirm)
  163.         (infos)
  164.     )
  165. )
  166. (procedure
  167.     installrexx
  168.     ;;
  169.     ;; Procedure to copy the arexx examples
  170.     ;;
  171.     ;; No args, no locals, no returns.
  172.     ;;
  173.     
  174.     (copyfiles
  175.         (prompt CopyRexx)
  176.         (help @copyfiles-help)
  177.         (source "Rexx/")
  178.         (all)
  179.         (dest RexxDest)
  180.         (confirm)
  181.         (infos)
  182.     )
  183. )
  184. (procedure
  185.     installsamp
  186.     ;;
  187.     ;; Procedure to copy the samples
  188.     ;;
  189.     ;; No args, no locals, no returns.
  190.     ;;
  191.     
  192.     (copyfiles
  193.         (prompt CopySamp)
  194.         (help @copyfiles-help)
  195.         (source "Samples/")
  196.         (all)
  197.         (dest SampDest)
  198.         (infos)
  199.     )
  200. )
  201. (procedure
  202.     installstore
  203.     ;;
  204.     ;; Procedure to copy the storage dir
  205.     ;;
  206.     ;; No args, no locals, no returns.
  207.     ;;
  208.     
  209.     (copyfiles
  210.         (prompt CopyStore)
  211.         (help @copyfiles-help)
  212.         (source "Storage/DialData")
  213.         (all)
  214.         (dest DataDest)
  215.         (infos)
  216.     )
  217.     (copyfiles
  218.         (prompt CopyStore)
  219.         (help @copyfiles-help)
  220.         (source "Storage/SendEMail")
  221.         (all)
  222.         (dest EMailDest)
  223.         (infos)
  224.     )
  225.     (copyfiles
  226.         (prompt CopyStore)
  227.         (help @copyfiles-help)
  228.         (source "Storage/SendFax")
  229.         (all)
  230.         (dest FaxDest)
  231.         (infos)
  232.     )
  233. )
  234. (procedure
  235.     installxtras
  236.     ;;
  237.     ;; The Extras Installer Procedure
  238.     ;; This is a tad complex and i can't be arsed to comment it any more.
  239.     ;;
  240.     ;; Look, it's 1:10am now and i've been working on bits of megabook since
  241.     ;; about 3:30pm and i'm KNACKERED.
  242.     ;; ^^^ Thats nothing, I did 3AM till 6PM on MB4 the other day :)
  243.     ;;
  244.     ;; Hope all thsi work is worth my bother, if no one uses this ... hmm
  245.     ;; oh well, such is life.
  246.     ;; yup, its another stupid comment and chariots of fire is blurting out
  247.     ;; the stereo for some unknown reason ... ahh, its in Hippo's play
  248.     ;; list :) hmm... whats next ... yup ... kewl ravey one from the
  249.     ;; shun ep.
  250.     ;; shit ... best right the procedure instead of this stupid comment :)
  251.     ;; here goes...
  252.     ;;
  253.     ;; wait for it.... ahh, i feel it coming ... nope, not yet..
  254.     ;; NOW!
  255.     ;; oh, mebbe not ...yesh :) kewl ravey track :)
  256.     ;; hmmm, whaddya mean shut up ? oh, ok :)
  257.     
  258.     (set gotmodem 
  259.         (askbool
  260.             (prompt Modem)
  261.             (default 1)
  262.             (help ModemHelp)
  263.         )
  264.     )
  265.     
  266.     (if (= gotmodem 1)
  267.         (
  268.             (set termtype (askchoice
  269.                               (prompt TermProg)
  270.                               (default 0)
  271.                               (choices "NComm"
  272.                                        "Term"
  273.                                        "ZeeTerm"
  274.                                        "Termite")
  275.                               (help @askchoice-help)
  276.                           )
  277.             )
  278.             (select termtype
  279.                 (
  280.                     (copyfiles
  281.                         (prompt CopyExtras)
  282.                         (source "Storage/DialData/NComm.mbrx")
  283.                         (newname "DialData.mbrx")
  284.                         (dest XtrasDest)
  285.                         (infos)
  286.                         (help @copyfiles-help)
  287.                     )
  288.                 )
  289.                 (
  290.                     (copyfiles
  291.                         (prompt CopyExtras)
  292.                         (source "Storage/DialData/Term.mbrx")
  293.                         (newname "DialData.mbrx")
  294.                         (dest XtrasDest)
  295.                         (infos)
  296.                         (help @copyfiles-help)
  297.                     )
  298.                 )
  299.                 (
  300.                     (copyfiles
  301.                         (prompt CopyExtras)
  302.                         (source "Storage/DialData/ZeeTerm.mbrx")
  303.                         (newname "DialData.mbrx")
  304.                         (dest XtrasDest)
  305.                         (infos)
  306.                         (help @copyfiles-help)
  307.                     )
  308.                 )
  309.                 (
  310.                     (copyfiles
  311.                         (prompt CopyExtras)
  312.                         (source "Storage/DialData/Termite.mbrx")
  313.                         (newname "DialData.mbrx")
  314.                         (dest XtrasDest)
  315.                         (infos)
  316.                         (help @copyfiles-help)
  317.                     )
  318.                 )
  319.             )
  320.             
  321.         )
  322.     )
  323.     (set gotemail
  324.         (askbool
  325.             (prompt EMail)
  326.             (default 1)
  327.             (help EMailHelp)
  328.         )
  329.     )
  330.     ;; hey, i'm annoyed now! i keep typing {'s instead of ('s and }'s instead
  331.     ;; of )'s ... oh well, i'm too used to C :)
  332.     (if (= gotemail 1)
  333.         (
  334.             (set mailer (askchoice
  335.                             (prompt MailProg)
  336.                               (default 0)
  337.                               (choices "Spot"
  338.                                        "Yam")
  339.                               (help @askchoice-help)
  340.                         )
  341.             )
  342.             
  343.             (select mailer
  344.                 (
  345.                     (copyfiles
  346.                         (prompt CopyExtras)
  347.                         (source "Storage/SendEMail/Spot.mbrx")
  348.                         (newname "SendEMail.mbrx")
  349.                         (dest XtrasDest)
  350.                         (infos)
  351.                         (help @copyfiles-help)
  352.                     )
  353.                 )
  354.                 (
  355.                     (copyfiles
  356.                         (prompt CopyExtras)
  357.                         (source "Storage/SendEMail/Yam.mbrx")
  358.                         (newname "SendEMail.mbrx")
  359.                         (dest XtrasDest)
  360.                         (infos)
  361.                         (help @copyfiles-help)
  362.                     )
  363.                 )
  364.             )
  365.         )
  366.     )
  367. )
  368. (procedure
  369.     faxmsg
  370.     
  371.     (message "Unfortunately, there are no fax scripts in\nthis release of MegaBook. This is because\nwe couldn't find any ARexx docs for\nGPFax and other fax programs. If you write\na good fax script, we would like to see it\nSee docs for more info")
  372. )
  373.  
  374. (procedure
  375.     dolibs
  376.     ;;
  377.     ;; install the libs
  378.     ;;
  379.     (copylib
  380.         (prompt "Installing needed libraries")
  381.         (help @copylib-help)
  382.         (source "libs/reqtools.library")
  383.         (dest "LIBS:")
  384.         (confirm)
  385.     )
  386.     
  387.     (copylib
  388.         (prompt "Installing needed libraries")
  389.         (help @copylib-help)
  390.         (source "libs/powerpacker.library")
  391.         (dest "LIBS:")
  392.         (confirm)
  393.     )
  394. )
  395.  
  396. (procedure 
  397.     installminibook
  398.     ;; MiniBook Installation
  399.     
  400.     (set wantminibook
  401.         (askbool
  402.             (prompt MiniBook)
  403.             (default 1)
  404.             (help MiniBookhelp)
  405.         )
  406.     )
  407.     
  408.     (if (= wantminibook 1)
  409.         (
  410.             (copyfiles
  411.                 (prompt CopyExe)
  412.                 (help @copyfiles-help)
  413.                 (choices "MiniBook")
  414.                 (source "MiniBook/")
  415.                 (dest @default-dest)
  416.                 (confirm)
  417.                 (infos)
  418.             )
  419.             
  420.             (copyfiles
  421.                 (prompt CopyDocs)
  422.                 (help @copyfiles-help)
  423.                 (choices "MiniBook.guide")
  424.                 (source "Docs/")
  425.                 (dest DocsDest)
  426.                 (confirm)
  427.                 (infos)
  428.             )
  429.             
  430.             (copyfiles
  431.                 (prompt CopyExamp)
  432.                 (help @copyfiles-help)
  433.                 (source "MiniBook/Examples/")
  434.                 (all)
  435.                 (dest ExampDest)
  436.                 (confirm)
  437.                 (infos)
  438.             )
  439.         )
  440.     )
  441. )
  442. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  443. ;; Start of the installer                                                 ;;
  444. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  445.  
  446. (set hello "\nWelcome to\n\nMegaBook Version 4.0 Preview 2\n By Tom Bampton\n\n© 1996,1998 Eden Developments\n\nMegaBook Install Script Version 3.2\n\n\nThe ULTIMATE Amiga Address Book")
  447.  
  448. (message hello)
  449. (welcome)
  450.  
  451. ;; Get directory to install to
  452. (set @default-dest (askdir
  453.                         (prompt WhereTo)
  454.                         (help WhereToHelp)
  455.                         (default @default-dest)
  456.                     )
  457. )
  458.  
  459. ;; Make the directory structure, we'll have some destination vars at the end
  460. ;; of this proccy too
  461. (makedirstruct)
  462. (complete 10)
  463.  
  464. ;; Install the main executables
  465. (installexes)
  466. (complete 20)
  467. ;; Install the docs
  468. (installdocs)
  469. (complete 30)
  470. ;; Install examples
  471. (installexamp)
  472. (complete 40)
  473. ;; Install Arexx examples
  474. (installrexx)
  475. (complete 50)
  476. ;; Install samples
  477. (installsamp)
  478. (complete 60)
  479. ;; Install Storage dir
  480. (installstore)
  481. (complete 70)
  482. ;; Install extras
  483. (installxtras)
  484. (faxmsg)
  485. (complete 80)
  486. ;; Install libs
  487. (dolibs)
  488. (complete 90)
  489. ;; Install MiniBook
  490. (installminibook)
  491.  
  492. ;; Add to the user-startup
  493. (startup "MegaBook Version 4.0"
  494.     (prompt (cat (cat StartP @default-dest) "\""))
  495.     (help @startup-help)
  496.     (command (cat (cat "ASSIGN MegaBook: \"" @default-dest) "\""))
  497. )
  498.  
  499. (complete 100)
  500.  
  501. ;; Wahey! at bloody last! bugger, its 2AM now and this script has taken
  502. ;; about 3 hours to write, mebbe 4 ... i hope u guys appreciate it!
  503.  
  504. ;; Bollocks, its 11AM on a saturday hehehe
  505.  
  506. ;; What ? Thats a lie ...i'ts 1:15AM on a thursday/friday :) Good show on
  507. ;; TV in 45 mins, hope this is done in time ...